home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / pcvile.zip / BUGLIST < prev    next >
Text File  |  1991-06-20  |  6KB  |  148 lines

  1.  
  2.     (E means enhancement, L,M,H are low, medium, high priority)
  3. ----------------------
  4.  
  5. H    the gotoeop motion and regions interract wrongly.  For instance,
  6.     using ^W} to write the rest of the paragraph to a file writes
  7.     the wrong number of characters.
  8.  
  9. H    when reading the output of a shell command, it's far too slow -- should
  10.     read as much as possible, put it into the buffer, and _then_ update
  11.     [ This has been fixed for BSD -- other implementations not yet ]
  12.  
  13. M    output doesn't flush properly after a shell escape
  14.  
  15. M    longnames cause severe portability constraint -- does the shortnames
  16.     stuff take care of this?  I can't test it...
  17.  
  18. M    :k, to set a mark, won't work as ":ka" or ":kb".  Must use ":k a"
  19.  
  20. M    :set all should be made to work (fix help)
  21.  
  22. L    formatregion sometimes appends a space to the last line, for instance
  23.     when a paragraph is reformatted
  24.  
  25. L    dos-style is set even when file is majority unix-lines?
  26.  
  27. L    why does file reading seem so slow?
  28.  
  29. L    why is searching so slow?
  30.  
  31. L    with two window displayed, hitting * twice makes one go away.
  32.     perhaps popup should _always_ split a window, rather than sometimes
  33.     taking over an existing one.  but then we'd have to remember who we
  34.     split, so we could give the space back to the donor.
  35.  
  36. E    patterns as addresses do not work, e.g. ":/str1/,/str2/d".  They're
  37.     hard to parse the way things are set up right now.  We could accumulate
  38.     the whole commandline, and then parse it, the way real vi does, but we'd
  39.     lose the "prompt and display last response" behavior.
  40.  
  41. E    In vi, the join command is supposed to act either on a region (from
  42.     the command line, as in ":13,15j"), or it should take a simple
  43.     count, from vi mode, as in "3j".  Right now vile _only_ does the
  44.     simple count form of the command.
  45.  
  46. E    should add an option to support file locking, rather than the
  47.     current ifdef stuff -- but this is only useful if we match the
  48.     GNU locking protocol, which I'm not inclined to do
  49.  
  50. E    Wow. the scrsearch functions could become region based -- as in "search for
  51.     the next occrence of the region", which would usually be a word.  And
  52.     the ^A/ version could become "a/ (search for teh contents of buffer a),
  53.     if you know what I mean.
  54.  
  55. E    need a "file newer than buffer" warning.  Should stat the file, and
  56.     store it's mod time, compare to current when going back to that window,
  57.     after performing some shell command.  e.g., if you're editing a file
  58.     that is created by a script you're testing, then you want to be warned
  59.     that the file is out of date after doing a test run of the script.
  60.  
  61. E    should be able to refer to remote tags file, and have paths
  62.     contained there be relative to _its_ location, rather than the current
  63.     directory.
  64.  
  65. E    add a command-line expansion character to be the list of files
  66.     mentioned in "tags"
  67.  
  68. E    should there be a "significant-length" for tags?
  69.  
  70. E    another mode, which will "!get -p" an SCCS or RCS file if 
  71.     the clear-text file isn't found
  72.  
  73. E    add _another_ mode, similar to the above, which will do a caseless 
  74.     match against filenames mentioned in tags
  75.  
  76. E    it would be nice if ^X!! reran the last command into [Output]
  77.  
  78. E    add support for sh or C comments to formatregion() code
  79.  
  80. E    why can't I kill a displayed buffer?  simply bring up the previous.
  81.     
  82. E    g should become a region command.  Then it could take ranges, as
  83.     it should, and could also become an operator command.
  84.  
  85. E    add C comments to CFENCE matching code
  86.  
  87. E    add C ifdefs to CFENCE matching code
  88.  
  89. E    adjust window size of popups based on length of buffer.  currently
  90.     popups get half the window they're splitting, no matter what
  91.  
  92. E    collapse command execution code to as few places as possible.
  93.     Its currently spread through main(), execute(), operator(),
  94.     docmd(), and usekreg().
  95.     
  96. E    mlreply line should ideally be a one line buffer, so editing
  97.     and history can be done on it.
  98.  
  99. E    BSD interrupt processing is botched during a read() of the keyboard.
  100.     The read doesn't return -1 as it does under sysV (USG).
  101.     So you can bang on ^C all day and nothing will happen.
  102.     [I'm not sure this is true anymore  -pgf]
  103.     
  104. E    This editor does not virtualize buffers out to disk.  It is quite 
  105.     a memory hog.  But isn't that what /dev/swap is for?  But
  106.     seriously, I haven't even come close to testing it for
  107.     memory-full conditions.  Some malloc() packages give 95%
  108.     warnings -- perhaps something like that should be done for
  109.     safety.
  110.  
  111. E    to make the code shrink, could probably try to eliminate
  112.     sprintf and its brethren.  mlwrite already does format
  113.     expansion, it could probably be turned into a doprnt-like
  114.     beast, and that used as a basis for our own sprintf,fprintf
  115.     How does one write [sfp]printf and doprnt using varargs?
  116.  
  117. E    likewise for scanf
  118.  
  119. E    marks should perhaps be linked onto lines.  this would make a lot
  120.         of things a lot easier, since a mark would travel with the
  121.         line, instead of having to be moved when the line is
  122.         reallocated etc.  the U line could be treated as a special
  123.         mark.  The "copied" flag needed by undo could be a special
  124.         sort of mark as well.  Implementation of the "tag stack"
  125.     would be aided by this as well.
  126.  
  127. E    there is currently no way to change working directories -- it's
  128.     not clear whether that should be a global thing, or perhaps
  129.     a per-buffer notion.
  130.  
  131. E    there is code (in imdying()) that attempts to save unwritten buffers
  132.     on hangups.  It is fairly crude, having been written quickly
  133.     in self-defense during debugging.  It should be examined and
  134.     fixed.
  135.  
  136. E    :e and :n should be able to deal with multiple filenames resulting
  137.     from filename globbing.  vi has this problem too.  At least
  138.     vile lets you choose to choose the first such name.  if should show
  139.     you the first name, so you know whether to accept it or not.
  140.  
  141. E    ^W should erase word in input mode, and killc should erase line 
  142.     in input mode.  (but only back to where the input started, if it
  143.     started on this line.  right now we have no record of that, hence
  144.     you can backspace past the insert point)
  145.  
  146. E    All code should pass lint.  This won't be easy... :-)
  147.     
  148.